home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / bbs / t_libv10.zip / LIBRARY.DOC < prev    next >
Text File  |  1996-08-14  |  18KB  |  410 lines

  1.  
  2.                                 The Library
  3.                             (C) 1996 LloydWare
  4.  
  5.                             ------------------
  6.  
  7. Copyright Notices:
  8.  
  9. Turbo Pascal is Copyright Borland International
  10. Kdrive is Copyright SHARKware
  11. LORD (Legend of the Red Dragon) is Copyright Robinson Technologies
  12. RIP Playroom and ANSI Playroom is Copyright FireHawk Software
  13. DSZ is Copyright Omen Technologies
  14. RIP is Copyright Telegraphics Inc.
  15.  
  16.                             ------------------
  17.  
  18. Description:
  19.  
  20. What is the Library?
  21.  
  22.     The Library is a Door program that displays selected text files, and
  23. allows the user the option of downloading them from the door.
  24.  
  25.  
  26. Why Use the Library?
  27.  
  28.     I didn't like the way that my particular BBS system did it's Bulletins,
  29. and didn't like the idea of using the "View Text Files" option off of the
  30. file menu either.
  31.     The Library allows you to categorize your Text files into different
  32. sub-menus (Maximum of 10 sub-menus), then describe the files contained in
  33. the sub-menu (Maximum of 10 files per sub-menu), and allow the user the
  34. option to read or download the chosen text file from that menu.
  35.  
  36.                             ------------------
  37.  
  38. DISCLAIMER:
  39. -----------
  40.   The author (Lloyd Lewis) has taken every precaution to insure that no
  41.   harm or damage will occur on computer systems operating this package.
  42.   Nevertheless, the author shall NOT be held liable for whatever may happen
  43.   on your computer system or to any computer systems which connects to your
  44.   own as a result of operating this package. The user assumes full
  45.   responsibility for the correct operation of this software package, whether
  46.   harm or damage results from any software error, hardware malfunction, or
  47.   operator error. NO warranties are offered, expressly stated or implied,
  48.   including without any limitation or restriction any warranties of
  49.   operation for a particular purpose and / or merchantability. If you do
  50.   not agree with this, then absolutely do NOT use this program!
  51.  
  52.                             ------------------
  53.  
  54. LICENSE AGREEMENT:
  55. ------------------
  56.  
  57.   The door program, support files, and documentation are copyrighted products
  58.   of LloydWare. The author reserves all rights to these products.
  59.   This is protected by the United States of America (USA) and International
  60.   Copyright Laws. In no way shall the components of the door software package
  61.   be reproduced or modified in any form or method without prior expressly
  62.   written permission from the author.
  63.  
  64.   Tampering with or altering the contents or integrity of the door software
  65.   package is prohibited. No fee may be charged by any agency other than the
  66.   author beyond the cost of distributing unregistered copies without prior
  67.   expressly written permission from the author.
  68.  
  69.                             ------------------
  70.  
  71. Registration:
  72.  
  73.     The Library is being released as Freeware.  No registration fees are
  74. required or asked for.  Of course, if you wish to make a donation, it will
  75. not be turned down! :)
  76.  
  77.     If you have any questions or comments about "The Library", please feel
  78. free to contact me at the following addresses:
  79.  
  80.                 Fidonet 1:114/464
  81.                 Internet lloyd.lewis@stallion.nlife.com
  82.                 Realm of the Black Stallion BBS (602) 993-1844
  83.  
  84.     Or, you can send me snail-mail at the following address:
  85.  
  86.                          Lloyd Lewis
  87.                          P.O. Box 39564
  88.                          Phoenix, AZ 85069-9564
  89.  
  90.                             ------------------
  91.  
  92. System Requirements:
  93.  
  94.     This program should work fine on any IBM compatible system, under any
  95. operating system.
  96.     This program supports multitasking, and is DesqView, and OS/2 aware
  97. and will release time slices as necessary.
  98.     This program is usable under a multi-node BBS.
  99.     DSZ, or an Equivalent Protocol driver is required for the download
  100. functions of this progam.  Simply modify the X/Y/Z Batch files to work with
  101. your program.
  102.     RIP Version 1.54 Support is implemented in the door as well.
  103.     All ANSI and RIP screens are hardcoded into the door.
  104.  
  105.                             ------------------
  106.  
  107. Setup and Installation:
  108.  
  109.     Before you can use The Library, you must create the DAT file required to
  110. store the Menu Names, File Descriptions, and Path/Filename for the Text Files
  111. to be viewed/downloaded.
  112.  
  113.     Type "LIBRARY SETUP" (Without the quotes of course) from the DOS command
  114. line.  The setup routine isn't pretty, but it works.  The Screen displayed
  115. will look something like this:
  116.  
  117. M> Unused
  118.  
  119. 1>
  120. A> Unused
  121. 2>
  122. B> Unused
  123. 3>
  124. C> Unused
  125.  
  126. etc...
  127.  
  128.     The Left and Right arrow keys will move you up and down through the
  129. Sub-Menu record (The sub-menu number will be listed on the bottom of the
  130. screen.)
  131.  
  132.     The 'M' is the name for the Sub-Menu.  The letters 'A through J' are
  133. the descriptions for that particular text file.  The numbers '1 through 0'
  134. are the path and filename for the textfile listed below it.
  135. (ie. 1 is for A, 2 is for B, etc...) 'Q' will exit out of the setup program.
  136.  
  137.     Any Sub-Menu, or Text File Description that has 'Unused' in it will not
  138. allow the user to access it (thus preventing your system from crashing!)
  139. Simply enter your own Descriptions, and it will open them up to your user.
  140. (Make sure that you have a file assigned to your file description!)
  141.  
  142.  
  143. BATCH FILES:
  144.  
  145.     This archive should contain three batch files needed by The Library to
  146. run the download routine.  They are named X.BAT, Y.BAT, and Z.BAT.  DO NOT
  147. RENAME THEM!  You will get an error if you do.
  148.     These batch files are written with DSZ in mind, but they can be suited
  149. to your needs if you use a different Protocol Driver other than DSZ.  The
  150. Z.BAT file looks like this:
  151.  
  152. dsz port %1 handshake both z sz %2
  153.  
  154.     Note:  This batch file has two parameters passed to it.  %1 is the
  155.            Comport number, and %2 is the path/filename of the download.
  156.            If you modify the BAT files to suit your system, make sure that
  157.            %1 will allways be the Comport number, and %2 as the path and
  158.            filename of the download.
  159.  
  160.     DSZ or whatever Protocol Driver you're using should either be in the
  161. same directory as The Library (not a good idea, but it'll work), or within
  162. your PATH.
  163.  
  164.  
  165. COMMAND LINE PARAMETERS:
  166.  
  167.      Commandline parameters that can be passed to The Library program.
  168. The Library will always load locally, unless you pass a Dropfile
  169. parameter.{ Ex. /TRBBS}
  170.  
  171.   /B#   Locked baud rate {300-115200}
  172.   /C#   Comport {1-8}
  173.   /D    Use for Digiboard support.
  174.   /F    Use for Fossil support. The Library defaults to its built in
  175.         Async handler.
  176.   /I#   Use to specify a different IRQ number than the defaults. In
  177.         order to use this you must use the Default Async Handlers!
  178.   /K#   Keyboard Time out in seconds. {30 to 300}
  179.   /L*   Logging. Turns the Logging Boolean to True for programs. You
  180.         can define a path and/or file name for your log, if you do
  181.         not wish for the default log filename.
  182.   /N#   Node Number{1-255}
  183.   /P*   Path to drop files. Multi Node could be something like,
  184.         /Px:\BBS\node%1 where %1 is the node number passed from the
  185.         BBS program.
  186.   /R    Force RIP
  187.   /SSysopFN_SysopLN  Sysop name. Must use the _ in place of a space.
  188.         Use if not passed in Dropfile. (ie.  /SLloyd_Lewis )
  189.   /Tbbstype   BBS type. List below:
  190.         QUICK     - Quickbbs,Force,RemoteAccess. (uses DORINFO1.DEF)
  191.         RBBS      - Rbbs version 16.1+  (uses DORINFO1.DEF)
  192.         PCB12     - Pcboard version 12 (see COMPORT note below)
  193.         PCB14     - Pcboard version 14
  194.         PCB15     - Pcboard version 15
  195.         WWIV      - WWIV bbs (uses chain.txt)
  196.         PHOENIX   - Phoenix bbs
  197.         CALLINFO  - Old Wildcat 2.xx
  198.         WC30      - New Wildcat 3.xx
  199.         DOORSYS   - The DOOR.SYS format (Wildcat! 3.xx, TAG,etc)
  200.         SPITFIRE  - Spitfire SFDOORS.DAT format
  201.         2AM       - 2AM
  202.         TRIBBS    - TriBBS
  203.   /W#   Maximum time for user to be in door in minutes. Default is
  204.         1440 or User's time left from BBS.
  205.   /Zbbsname  BBS name. Use _ for spaces. {Use only if not passed in Dropfile}
  206.         (ie. /ZRealm_of_the_Black_Stallion )
  207. Notes:
  208. PCB12 : When using this option, make sure you pass the Comport
  209.         information by using the /Cx option.
  210.  
  211. DORINFO : When using this option, the newer DORINFO1.DEF is used,
  212.           not the DORINFOx.DEF. You may need to rename your drop
  213.           file to use this, if you are using older BBS software.
  214.  
  215.     All data passed to The Library is through Command line usage, no .CFG
  216. files are needed to get the program running.  So, for example, if you are
  217. running The Library from your C: drive, in a sub-directory named 'LIBRARY',
  218. using DOOR.SYS as your drop file, your calling batch file might look like
  219. this:
  220.  
  221. REM The Library Door
  222. C:
  223. CD\LIBRARY
  224. LIBRARY /TDOORSYS /PC:\BBS
  225.  
  226.     That's all there is to it!  Of course if you are using Multi-Node, then
  227. you would want to use DORINFO?.DAT (Where ? is the node number) and pass the
  228. node information to the BAT file.  Look at the above /P statement for an
  229. example of using Multi-Node support.
  230.  
  231.     (NOTE:  SFDOORS.DAT gives me some problems, so I suggest not using it
  232.             if you run a Spitfire BBS.  Instead use DOOR.SYS, it works
  233.             just fine!)
  234.  
  235.     Most BBS programs should pass all other data to the program through the
  236. drop file, so it probably won't be necessary to pass any of the other
  237. parameters to The Library.  But, they are available if you need them.
  238.  
  239.                             ------------------
  240.  
  241. Color Codes:
  242.  
  243.     If you want, Color codes can be inserted into your text files to liven
  244. them up a bit.  Note however, that if that text file gets downloaded, the
  245. user is going to have a text file with a bunch of wierd codes in it, along
  246. with the text.  This is entirely up to you, but here is the list of color
  247. codes available, and how to implement them:
  248.  
  249.                   (Excerpt from Kdrive documentation)
  250.  
  251. COLOR CODES :
  252.   KDrive uses the following color codes for changing colors. They can be
  253.   added to any string if you do not wish to use the SetColor/SetFore/SetBack
  254.   commands. They are very useful.  KDrive automatically converts the LORD
  255.   color codes for compatibility.  When using KDrive for IGMs you may use the
  256.   LORD color codes instead.
  257.  
  258.   Char  Byte              ForeColor/      BackColor
  259.   Code  Color  LORD Code  LORD Color
  260.   0     00     Not Used!   Black           Black
  261.   1     01      `1         Blue            Blue
  262.   2     02      `2         Green           Green
  263.   3     03      `3         Cyan            Cyan
  264.   4     04      `4         Red             Red
  265.   5     05      `5         Magenta         Magenta
  266.   6     06      `6         Brown           Brown
  267.   7     07      `7         Grey            Grey
  268.   8     08      `8         Light Grey      Black   (Blinking Fore)
  269.   9     09      `9         Light Blue      Blue    (Blinking Fore)
  270.   A     10      `0         Light Green     Green   (Blinking Fore)
  271.   B     11      `!         Light Cyan      Cyan    (Blinking Fore)
  272.   C     12      `@         Light Red       Red     (Blinking Fore)
  273.   D     13      `#         Light Magenta   Magenta (Blinking Fore)
  274.   E     14      `$         Yellow          Brown   (Blinking Fore)
  275.   F     15      `%         White           Grey    (Blinking Fore)
  276.         128                Blink (Add to Byte color for ForeColor to get
  277.                            the color to blink.
  278.  
  279.    LORD uses the tilde {`} symbol to represent the beginning of a color
  280.    sequence. Ex. ~@ to change the text color to Light Red.
  281.  
  282.    KDrive uses C to represent the beginning of a color sequence. However,
  283.    two codes are needed to complete the sequence. C04 would mean you want
  284.    red text on a black background.  To get KDrive to blink using it's
  285.    internal code, add 8 to the Background color you want, and use the proper
  286.    Foreground color.  C8E gives a blinking yellow text on a black background.
  287.  
  288.    KDrive also uses a sequence code to allow cursor movement in the string.
  289.    Use X01 to move the cursor to the X 01 position. Use Y01 to move the
  290.    cursor to the Y 01 position. Can replace the cGotoXY(x,y) command.
  291.    Example "X05Y03C04Hello."
  292.    Would print Hello. Red, at the 05,03 cordinates.
  293.  
  294. EMBEDDED CODES FOR KDrive
  295.    C## Color changing(Back,Fore).{# is 0 -F}
  296.    F# Color change Fore only.
  297.    B# Color change background only.
  298.    W   Clears the screen
  299.    X## Cursor movement to X## cordinates.
  300.    Y## Cursor movement to Y## cordinates.
  301.    Z   Clears to the end of the line.
  302.  
  303.    So, as you can see, the embedded codes can do a lot for your text files.
  304. All you have to do is precede the text with a color code, and it will change
  305. the color of the text displayed.  (Example)
  306.  
  307.     C03Hello  C02Hello  C34Hello
  308.  
  309.     The above line would display the word Hello three times on the screen,
  310. the first time Magenta on a Black Background, the second would be Green on
  311. a Black Background, and the third would be Red on a Cyan Background.
  312.     Take a look at the TEST.TXT file in this archive to see how it works.
  313.     The X/Y codes should work as well, but I have not tested them.
  314.  
  315.     To get the '' symbol to appear, go into your text editor and hit
  316. CTRL-P twice.
  317.  
  318.     NOTE: Do not try this with the LORD color codes, as they are not
  319. implemented in this program.
  320.  
  321.                             ------------------
  322.  
  323. Kdrive:
  324.  
  325.     Kdrive is a fantastic new Door Development Kit written by Korombos
  326. of SHARKware.  It is still in Beta-Testing, and is not available to the
  327. public yet.  It is very stable, and should be released (hopefully) in
  328. the near future.
  329.  
  330.                             ------------------
  331.  
  332. Special Thanks!
  333.  
  334.     Many thanks go out to my good friend Korombos!  Without him, The Library
  335. would have been on the back burner for quite some time.
  336.     Thank you Korombos for developing Kdrive (the wonderful door driver that
  337. The Library works with), for all your support and friendship that you have
  338. given me in the years that I have known you, and most of all, for teaching
  339. me to program in Turbo Pascal!
  340.     Korombos is the author of several terriffic Shareware/Freeware programs
  341. through SHARKware.  Take a look at some of his terriffic programs that can
  342. be downloaded/FREQ'd from his system at Fidonet 1:114/465, or
  343.  
  344.                         Terra BBS (602) 433-7863
  345.  
  346.     Additional thanks go out to:
  347.  
  348.     Brion Neeley     - Thanks for putting up with my clacking away at the
  349.                        computer at all hours of the day to get this, and
  350.                        other projects going.
  351.  
  352.     Mike Ritchie     - Thank you for all the support that you have given to
  353.                        me!  You have encouraged me to do more with my life,
  354.                        and make of myself what I want to be.
  355.  
  356.     Mike Copeland    - For all your help with getting the download routines
  357.                        in this program to work.  You have taught me much in
  358.                        the short time that I have chatted with you on the
  359.                        FIDO "Pascal Lessons" conference.  I expect that I
  360.                        will have much more to learn from you in the future.
  361.  
  362.           Cliff &
  363.     Susana Emberg    - For your friendship, help, support, and ideas.  It
  364.                        was from your FireHawk Software programs
  365.                        ANSI Playroom, and RIP Playroom that this idea
  366.                        stemmed from.  Also, one of Susana's RIP drawings
  367.                        is used in this program.
  368.  
  369.                        (Note: FireHawk Software can be FREQ'd from my
  370.                        system at 1:114/464.  Just use the Magic name FILES
  371.                        and it will give you the file list for my whole
  372.                        system.  This is terriffic software, quite affordable,
  373.                        and well worth the download!)
  374.  
  375.     Cathy Keller     - For your encouragement with all the projects and
  376.                        lessons that we have worked with together.  I know
  377.                        that you will make a fine Pascal Programmer!
  378.  
  379.     Kim Kokkonen     - President of TurboPower Software, for his wonderful
  380.                        ExecSwap utility that helped out so much with the
  381.                        release of this software.  ExecSwap is Freeware.
  382.  
  383.     Andy Forget      - I borrowed one of his RIP drawings for this program.
  384.                        Andy is a very talented artist, and has gone out of
  385.                        his way for me.  Take a look at some of my RIP menus
  386.                        on my BBS (the Phoenix Roadrunners ones), these were
  387.                        all drawn for me by Andy.  Thanks for everything!
  388.  
  389.     Last, but not least, to all the programmers on FIDO's "Pascal" and
  390. "Pascal Lessons" conferences, as well as those on SFNET's "Pascal
  391. Programming" conference.  Thank you for all the help and encouragement that
  392. you have all given to me, and the answers to my questions.  Without you all,
  393. I'd still be stuck on too many things with my programs.
  394.  
  395.                             ------------------
  396.  
  397. Author's Note:
  398.  
  399.     This is my first Door program ever written.  I do have some other,
  400. better ideas on the burners, so keep an eye out for them in the future!
  401.  
  402.     Thanks for looking at my work.  I hope that it is something that you can
  403. find useful for your system.  This is my gift back to the BBS community for
  404. all the years that I've been working with it.
  405.  
  406.                                      Thanks,
  407.                                      Lloyd Lewis
  408.                                      August 14, 1996
  409.  
  410.